static GtkWidget *inspector_window = NULL;
+static guint gtk_window_update_debugging_id;
+
static void set_warn_again (gboolean warn);
static void
g_object_set_data (G_OBJECT (inspector_window), "warning_dialog", NULL);
if (response == GTK_RESPONSE_NO)
{
- gtk_widget_destroy (inspector_window);
+ GtkWidget *window;
+
+ if (gtk_window_update_debugging_id)
+ {
+ g_source_remove (gtk_window_update_debugging_id);
+ gtk_window_update_debugging_id = 0;
+ }
+
+ /* Steal reference into temp variable, so not to mess up with
+ inspector_window during gtk_widget_destroy(). */
+ window = inspector_window;
inspector_window = NULL;
+ gtk_widget_destroy (window);
}
else
{
}
}
-static guint gtk_window_update_debugging_id;
-
static gboolean
update_debugging (gpointer data)
{